home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
document
/
hypertxt
/
refchk17
/
refcheck.man
< prev
next >
Wrap
Text File
|
1995-11-25
|
11KB
|
221 lines
NAME
refcheck - Überprüft die Konsistenz der ALL.REF ($REF) des ST-Guide
SYNOPSIS
refcheck [-adghiks]
BESCHREIBUNG
Zuerst liest REFCHECK aus der Datei ST-GUIDE.INF die Variablen PATHS und
REF. Sollte außerdem die Variable REFPATHS existieren, wird diese
anstelle von PATHS benutzt. So kann man bestimmen, daß nur die
REF-Dateien von Hypertexten aus bestimmten Pfaden in die ALL.REF
aufgenommen werden.
Die in der Variablen REF stehende REF-Datei, ist die von REFLINK
erzeugte 'REF-Bibliothek' (z.B. ALL.REF). Diese wird geladen und auf
ihre Korrektheit und Aktualität überprüft.
Dazu werden alle HYP-Dateien, die sich in den hinter [REF]PATHS
angegebenen Pfaden befinden, gesucht, mit der ALL.REF verglichen und in
der ALL.REF überflüssige Module (zu denen keine HYP-Datei existiert)
angezeigt. Evtl. vorhandene (und zu den HYPs passende) REF-Dateien
werden auf Aktualität und Existenz in der ALL.REF überprüft. Auf Wunsch
wird die ALL.REF durch Aufruf von REFLINK mit der entsprechenden
Kommandozeile automatisch aktualisiert.
Ist die Option -s nicht gesetzt werden alle gefundenen HYP-Dateien und
Modulnamen zusammen mit Offset und Länge des Moduls auf dem Bildschirm
ausgegeben. Erscheint hinter einem Modulnamen ein Ausrufezeichen (!),
bedeutet das, daß der Dateiname nicht mit dem Modulnamen übereinstimmt,
was aber nur selten vorkommt. Bei solchen Hypertexten sollte man die
REF-Datei nicht löschen, weil REF-Check sonst beim nächsten Lauf das
Modul in der ALL.REF nicht zu einem Hypertext zuordnen kann und evtl.
wieder löschen läßt! Die Option -k wird in solchen Fällen automatisch
deaktiviert (REFLINK wird also für dieses eine File nicht mit -m,
sondern mit -a aufgerufen)!
Um die Bildschirm-Ausgaben von REFCHECK in eine Datei zu schreiben,
benutzen Sie eine Kommando-Shell mit Ausgabeumlenkung (z.B. Mupfel)!
Bei Fragen über den Sinn und Zweck von REF-Dateien, ST-GUIDE.INF,
REFLINK usw. lesen Sie bitte die Anleitungen zum ST-Guide-System!
OPTIONEN
-a (add)
Neue bzw. aktuellere REF-Dateien in $[REF]PATHS automatisch in $REF
aufnehmen bzw. aktualisieren.
-d (delete)
Bei in $[REF]PATHS nicht mehr vorhandenen HYP-Dateien automatisch
die dazu gehörenden Module aus $REF löschen.
-g (global)
Alle in $[REF]PATHS gefundenen REF-Dateien in $REF aufnehmen bzw.
aktualisieren, egal ob schon vorhanden und/oder gleiche Modullänge.
-h (hold)
Am Ende auf Tastendruck warten.
-i (interactive)
Bei a/d/g einzeln nachfragen. Dabei wird jeweils die Kommandozeile
für REFLINK angezeigt und gefragt, ob REFLINK gestartet werden soll.
Man kann wählen zwischen:
J: REFLINK starten (auch Return, deshalb ein großes "J").
n: REFLINK nicht starten.
a: Wie "J" und alle weiteren REFLINK-Aufrufe ohne Nachfrage.
Alle weiteren REFLINK-Aufrufe mit der Option -d (löschen) werden
anschließend in einem einzigen Aufruf zusammengefaßt!
q: Wie "n" und keine weiteren REFLINK-Aufrufe mehr.
-k (kill)
Bei a/g wird REFLINK mit der Option -m (move) gestartet, so daß die
bearbeiteten REF-Dateien anschließend automatisch gelöscht werden.
-s (silent)
Die Bildschirmausgaben werden auf das nötigste beschränkt, wodurch
eine höhere Geschwindigkeit erzielt wird.
([REF]PATHS und REF aus ST-GUIDE.INF!)
Bei unbekannten Optionen (z.B. -?) wird eine Hilfe ausgegeben!
Alle Optionen können auch über die Variable REFCHECK-OPT in der Datei
ST-GUIDE.INF gesetzt werden. Diese Variable wird aber nur ausgewertet,
wenn die Kommandozeile von REFCHECK leer ist!
Beispiel: REFCHECK-OPT=ads
Wer REFCHECK oft oder nur vom Desktop startet und nur noch die Variable
REFCHECK-OPT nutzt, kann REFCHECK.TTP natürlich in REFCHECK.TOS
umbenennen, dann entfällt die überflüssige TTP-Parameterabfrage!
BEISPIELE
refcheck
Die Ergebnisse werden nur am Bildschirm angezeigt (evtl. -h setzen).
Es finden keine Schreibzugriffe statt. Hiermit kann man sich also
erstmal einen Überblick verschaffen.
refcheck -ad
Die ALL.REF wird automatisch und ohne Nachfragen auf den neuesten
Stand gebracht.
refcheck -dg
refcheck erkennt geänderte Module mit der Option -a nur daran, daß
sich die Modullänge geändert hat. Will man ganz sicher gehen, kann
man mit der Option -g ALLE REF-Dateien nochmal neu in die ALL.REF
schreiben lassen. Anschließend enthält diese auf jeden Fall alle
aktuellen REF-Dateien! Wenn man viele Hypertexte mit REF-Dateien
hat, kann das natürlich etwas länger dauern!
DATEIEN
ST-GUIDE.INF
Muß sich im HOME-Directory oder im Wurzelverzeichnis des
Bootlaufwerkes befinden.
REFLINK.TTP
Wird evtl. von REFCHECK gestartet. Dazu muß in der Datei
ST-GUIDE.INF zwingend die Variable REFLINK (Pfad und Name von
REFLINK) definiert sein! Anderenfalls werden die Optionen -[adg]
ignoriert und beim Programmstart erscheint eine Warnung!
Beispiel: REFLINK=h:\hyp\bin\reflink.ttp
ENVIRONMENT
HOME
Wird bei der Suche nach der ST-GUIDE.INF ausgewertet.
VERSIONEN
1.0 - Erstveröffentlichung.
1.1 - Compiliert mit hcc 2.00x23 und gelinkt mit den neuen XDLibs aus
dem Sozobon-Release 07.
- Sollte jetzt auch mit Alias-Programmen unter Gemini zurechtkommen
(reflink.ttp), da zuerst versucht wird, das Programm mit system()
zu starten.
- Bugfix: Ein lokales Array war zu groß für den Stack. Eigentlich
hätte das Programm abstürzen müssen. Warum es trotzdem lief,
weiß ich auch nicht;-)
- In den Beipielen der man page stand "reflink" statt "refcheck".
- Man page jetzt auch als Hypertext REFCHECK.HYP.
- Modulnamen wurden evtl. nicht in voller Länge verglichen. Z.B.
wurde beim Modul "aip" irrtümlich auch "aip_auto" oder "aip_prog"
erkannt!
- Neues Konzept: Es wird nicht mehr nach REF-Dateien, sondern nach
HYP-Dateien und dann erst nach der passenden REF-Datei gesucht!
Dadurch funktioniert der Schalter -d jetzt auch, wenn man nur mit
der ALL.REF arbeitet und die Module werden nicht gelöscht. Nur,
wenn die HYP-Datei fehlt, wird ein Modul aus der ALL.REF gelöscht!
- Maximale Anzahl der HYP-Dateien auf 1024 erhöht (bisher 200). Ich
denke, das sollte fürs erste ausreichen!
1.2 - Neue Option -k. Hiermit werden die REF-Dateien nach erfolgreicher
Aktualisierung/Aufnahme von der Platte gelöscht! Besonders
geeignet für diejenigen, die nur mit der ALL.REF arbeiten!
- Optionsbeschreibung im Usage-Text an die man page angepaßt.
- Wenn die Environmentvariable HOME existiert, wird die ST-GUIDE.INF
zuerst dort gesucht.
1.21 - Starten von REFLINK funktionierte nicht richtig, wenn weder eine
Shell gefunden wurde, noch die System-Environmentvariable PATH
existierte oder einen gültigen Pfad für REFLINK enthielt. Im
aktuellen Verzeichnis wurde auch nicht gesucht. Jetzt wird, wenn
keie Shell existiert, zuerst im aktuellen Verzeichnis gesucht und
erst wenn das fehlschägt, wird REFLINK mit spawnlp() gestartet.
1.3 - Bei den Suchvorgängen werden jetzt alle gefundenen Module und
Dateien angezeigt. Beim Scannen der ALL.REF wird jeweils
Modulname, Offset und -länge, bei der HYP-Suche HYP-Name und falls
vorhanden "+REF", Modulname und -länge ausgegeben!
- Absturz beseitigt, wenn die ALL.REF ein Modul mit einer Länge
>32767 Bytes enthielt.
- REFCHECK berücksichtigt jetzt die Tatsache, daß auch einfache
REF-Dateien mehr als ein Modul enthalten können, z.B. ENG_GER.REF.
- Wenn die Option -k gesetzt ist, wird die REF-Datei jetzt nicht
mehr von REFCHECK gelöscht, sondern REFLINK mit der Option -m
(move) gestartet.
- Speicheranforderungen (malloc) werden jetzt überprüft.
- Fehlerhaftes spawn-Binding ersetzt. Dank an Jerry Geiger @ B,
der mir die korrigierte spawn3.o als UUE geschickt hat:-)
- REFLINK-Aufrufe mit der Option -d (löschen) werden jetzt in einem
einzigen Aufruf zusammengefaßt, wenn die REFCHECK-Option -i nicht
gesetzt ist oder bei einer Abfrage durch [a] deaktiviert wurde!
- Option -s (silent) beschränkt die Bildschirmausgaben auf das
nötigste -> schneller.
- Die Option -g (global) wurde nicht beachtet, wenn eine REF-Datei
noch nicht in der ALL.REF vorhanden war.
1.4 - Variablen REFLINK und REFCHECK-OPT in der Datei ST-GUIDE.INF
werden ausgewertet.
1.5 - HYP/REF-Dateien und Module in der ALL.REF werden jetzt auch dann
einander korrekt zugeordnet, wenn der Name der HYP-Datei nicht mit
dem Modulnamen in der REF-Datei übereinstimmt. Aktuelles Beispiel:
Dateiname: POV.HYP/REF, Modulname: POV_DEUT (deutsche Version)!
- Wenn der Dateiname nicht mit dem Modulnamen übereinstimmt,
erscheint in der Ausgabeliste (wenn Option -s nicht gesetzt) ein
Ausrufezeichen (!) hinter dem Modulnamen. Außerdem wird eine
gesetzte move-Option (-k) für diese REF-Datei deaktiviert, damit
die Datei erhalten bleibt und REFCHECK beim nächsten Aufruf den
Modulnamen korrekt zuordnen kann (sonst würde das Modul evtl.
gleich wieder aus der ALL.REF gelöscht)!
1.6 - Zum Starten von REFLINK muß jetzt zwingend die Variable
REFLINK in der ST-GUIDE.INF definiert sein. Der Start über
eine System-Shell wird nicht mehr unterstützt!
- Wenn in der ST-GUIDE.INF die Variable REFPATHS gefunden wird, wird
diese anstelle von PATHS benutzt. So kann man bestimmen, daß nur
die REF-Dateien von Hypertexten aus bestimmten Pfaden in die
ALL.REF aufgenommen werden.
- Die mögliche Anzahl der HYP-Dateien/Module ist nur noch durch
den freien Speicherplatz beschränkt.
1.7 - Bugfix: REFCHECK stürzte ab, wenn keine ALL.REF existierte.
COPYRIGHT
REFCHECK ist Freeware, d.h. das Programm darf beliebig weitergegeben
werden, allerdings nur unverändert und komplett mit allen Dateien.
DISCLAIMER
Ich übernehme keine Haftung für Schäden jeglicher Art, die durch die
Benutzung oder Nicht-Benutzung von REFCHECK entstanden sind.
AUTOR
Frank Rüger
Tecklenburger Straße 21
D-49525 Lengerich
email: Frank Rüger @ OS2 im Mausnetz bzw.
Frank_Rueger@os2.maus.de aus dem InterNet